%% FIGURE A-19
clear all
clc
% Add path 
% Determine where your m-file's folder is.
folder = fileparts(which("Figure_A_19.m")); 
% Add that folder plus all subfolders to the path.
addpath(genpath(folder)); 

% Saving path
file_dir = what('Figures'); 
spath=file_dir.path;

% Setting
hor=20;
jhor=0:hor;
Run_color_settings
% LOAD DATA
ResultsIP02=load("Results/DFMDGP_IPObsLag2.mat");
ResultsIP04=load("Results/DFMDGP_IPObsLag4.mat");
ResultsUnem02=load("Results/DFMDGP_UnemObsLag2.mat");
ResultsUnem04=load("Results/DFMDGP_UnemObsLag4.mat");

% Plot
clf
N_plot=2;
pln=1;
plotColumns=2;
figure(1)
for j=1:N_plot
            grid on
            pl=subplot(ceil(N_plot/plotColumns),plotColumns,pln);
            hold on
            
           if j==1
            % Average length IP
            p0=plot(jhor,ResultsIP02.Results.AL.Pool.seqblock'./ResultsIP02.Results.the_rms_irf(1,1), '-','LineWidth',3,'Color', flexiblecolor); 
            p1=plot(jhor,ResultsIP02.Results.AL.Pool.seqblock_bs1'./ResultsIP02.Results.the_rms_irf(1,1), '-o','LineWidth',3,'Color', blocksize1color);
            p2=plot(jhor,ResultsIP02.Results.AL.Pool.seqblock_bs2'./ResultsIP02.Results.the_rms_irf(1,1), '-square','LineWidth',3,'Color', blocksize2color); 
            hold off; axis tight
            xlim([0 hor]);
            set(gca,'XTick',0:4:hor,'XTickLabel',cellstr(num2str((0:4:hor)')),'Layer','top','FontSize',14)
            xlabel('Horizon')  
            lh=legend([p0 p1 p2],{'Flexible block size';'Block size=4';'Block size=20'},'FontSize',16,'Location','northeast','Box','off');
            ylim([0.8 1.8]) 
            yticks(0.8:0.2:1.8)
            title('p=2','FontSize',16,'FontWeight','normal')

            elseif j==2
            % Average length IP
            p0=plot(jhor,ResultsIP04.Results.AL.Pool.seqblock'./ResultsIP04.Results.the_rms_irf(1,1), '-','LineWidth',3,'Color', flexiblecolor); 
            p1=plot(jhor,ResultsIP04.Results.AL.Pool.seqblock_bs1'./ResultsIP04.Results.the_rms_irf(1,1), '-o','LineWidth',3,'Color', blocksize1color);
            p2=plot(jhor,ResultsIP04.Results.AL.Pool.seqblock_bs2'./ResultsIP04.Results.the_rms_irf(1,1), '-square','LineWidth',3,'Color', blocksize2color); 
            hold off; axis tight
            xlim([0 hor]);
            set(gca,'XTick',0:4:hor,'XTickLabel',cellstr(num2str((0:4:hor)')),'Layer','top','FontSize',14)
            xlabel('Horizon')  
            %lh=legend([p0 p1 p2],{'Flexible block size';'Block size=4';'Block size=10'},'FontSize',16,'Location','southwest','Box','off');
            ylim([0.8 1.8]) 
            yticks(0.8:0.2:1.8)
            title('p=4','FontSize',16,'FontWeight','normal')

           end
            grid on
            ax = gca;             % Get current axes
            ax.GridLineStyle = ':';    % (Optional) Set grid line style
            ax.LineWidth = 2;         % This affects grid line thickness and axes box
            ax.GridColor = [0 0 0];
            x0=10;
            y0=10;
            width=900;
            height=400;      
            pln=pln+1;          
            set(gcf,'position',[x0,y0,width,height])
            hold off
end
saveas(figure(1),fullfile(spath,['DFM_ObsLagIPAL.eps']),'epsc');

% Plot
clf
N_plot=2;
pln=1;
plotColumns=2;
figure(1)
for j=1:N_plot
            grid on
            pl=subplot(ceil(N_plot/plotColumns),plotColumns,pln);
            hold on
            
           if j==1
            % Average length Unem
            p0=plot(jhor,ResultsUnem02.Results.AL.Pool.seqblock'./ResultsUnem02.Results.the_rms_irf(1,1), '-','LineWidth',3,'Color', flexiblecolor); 
            p1=plot(jhor,ResultsUnem02.Results.AL.Pool.seqblock_bs1'./ResultsUnem02.Results.the_rms_irf(1,1), '-o','LineWidth',3,'Color', blocksize1color);
            p2=plot(jhor,ResultsUnem02.Results.AL.Pool.seqblock_bs2'./ResultsUnem02.Results.the_rms_irf(1,1), '-square','LineWidth',3,'Color', blocksize2color); 
            hold off; axis tight
            xlim([0 hor]);
            set(gca,'XTick',0:4:hor,'XTickLabel',cellstr(num2str((0:4:hor)')),'Layer','top','FontSize',14)
            xlabel('Horizon')  
            lh=legend([p0 p1 p2],{'Flexible block size';'Block size=4';'Block size=20'},'FontSize',16,'Location','northeast','Box','off');
            ylim([1 2]) 
            yticks(1:0.2:2)
            title('p=2','FontSize',16,'FontWeight','normal')

            elseif j==2
            % Average length Unem
            p0=plot(jhor,ResultsUnem04.Results.AL.Pool.seqblock'./ResultsUnem04.Results.the_rms_irf(1,1), '-','LineWidth',3,'Color', flexiblecolor); 
            p1=plot(jhor,ResultsUnem04.Results.AL.Pool.seqblock_bs1'./ResultsUnem04.Results.the_rms_irf(1,1), '-o','LineWidth',3,'Color', blocksize1color);
            p2=plot(jhor,ResultsUnem04.Results.AL.Pool.seqblock_bs2'./ResultsUnem04.Results.the_rms_irf(1,1), '-square','LineWidth',3,'Color', blocksize2color); 
            hold off; axis tight
            xlim([0 hor]);
            set(gca,'XTick',0:4:hor,'XTickLabel',cellstr(num2str((0:4:hor)')),'Layer','top','FontSize',14)
            xlabel('Horizon')  
            %lh=legend([p0 p1 p2],{'Flexible block size';'Block size=4';'Block size=10'},'FontSize',16,'Location','southwest','Box','off');
            ylim([1 2]) 
            yticks(1:0.2:2)
            title('p=4','FontSize',16,'FontWeight','normal')

           end
            grid on
            ax = gca;             % Get current axes
            ax.GridLineStyle = ':';    % (Optional) Set grid line style
            ax.LineWidth = 2;         % This affects grid line thickness and axes box
            ax.GridColor = [0 0 0];
            x0=10;
            y0=10;
            width=900;
            height=400;      
            pln=pln+1;          
            set(gcf,'position',[x0,y0,width,height])
            hold off
end
saveas(figure(1),fullfile(spath,['DFM_ObsLagUnemAL.eps']),'epsc');
